Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Двовимірні побудови з використанням OpenGL засобами BORLAND DELPHI

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
О
Факультет:
КН
Кафедра:
Кафедра САПР

Інформація про роботу

Рік:
2008
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Моделювання

Частина тексту файла

Міністерство освіти і науки України Національний університет “Львівська Політехніка” кафедра САПР Звіт до лабораторної роботи № 4 по темі: “Двовимірні побудови з використанням OpenGL засобами BORLAND DELPHI” з курсу “ Геометричне моделювання у конструюванні інженерних об’єктів і систем” Львів 2008    3. ЗАВДАННЯ  4. ТЕКСТ ПРОГРАМИ Unit Unit1; interface Uses Windows, Messages, Forms, Classes, Controls, ExtCtrls, ComCtrls, StdCtrls, Dialogs, sysutils, OpenGL; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure FormPaint(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private hrc:HGLRC; end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.FormPaint(Sender: TObject); begin wglMakeCurrent(Canvas.Handle,hrc); glViewPort (0, 0,ClientWidth,ClientHeight); glClearColor (0.95, 0.95, 0.95, 1.0); glClear (GL_COLOR_BUFFER_BIT); glColor3f (0, 0, 0); glBegin (GL_TRIANGLES); glVertex2f(-1,-1); glVertex2f(-1,1); glVertex2f(-0.1,0); glEnd; wglMakeCurrent(0,0); end; procedure SetDCPixelFormat (hdc : HDC); var pfd : TPixelFormatDescriptor; nPixelFormat : Integer; begin FillChar (pfd, SizeOf (pfd),0); nPixelFormat:= ChoosePixelFormat (hdc, @pfd); SetPixelFormat (hdc, nPixelFormat, @pfd); end; procedure TForm1.FormCreate(Sender: TObject); begin SetDCPixelFormat(Canvas.Handle); hrc:=wglCreateContext(Canvas.Handle); end; procedure TForm1.FormDestroy(Sender: TObject); Begin wglDeleteContext(hrc); End; procedure TForm1.FormPaint(Sender: TObject); begin wglMakeCurrent(Canvas.Handle,hrc); glViewPort (0, 0,ClientWidth,ClientHeight); glClearColor (1.0, 1.0, 0.9, 1.0); glClear (GL_COLOR_BUFFER_BIT); glColor3f (0, 0, 0); glBegin(GL_LINE_LOOP); glVertex2f(-1.0,0.0); glVertex2f(1.0,0.0); glEnd; glBegin(GL_LINE_LOOP); glVertex2f(0.0,-1.0); glVertex2f(0.0,1.0); glEnd; if (Form1.CheckBox1.Checked) or (Form1.CheckBox2.Checked) or (Form1.CheckBox3.Checked) or (Form1.CheckBox4.Checked) then begin if Form1.CheckBox1.Checked then begin A:=-1; glColor3f(0.65, 0, 0); krok:=(2-(-2))/20; t:=-2; x:=2*t-sqr(t); y:=A*t-sqr(t)*t; x:=x/zoom; y:=y/zoom; xprev:=x; yprev:=y; while t<=2.0 do begin t:=t+krok; x:=2*t-sqr(t); y:=A*t-sqr(t)*t; x:=x/zoom; y:=y/zoom; glBegin(GL_LINE_LOOP); glVertex(xprev,yprev); glVertex(x,y); glEnd; xprev:=x; yprev:=y; end; end; if Form1.CheckBox2.Checked then begin A:=0; glColor3f(0, 0.65, 0); krok:=(2-(-2))/20; t:=-2; x:=2*t-sqr(t); y:=A*t-sqr(t)*t; x:=x/zoom; y:=y/zoom; xprev:=x; yprev:=y; while t<=2.0 do begin t:=t+krok; x:=2*t-sqr(t); y:=A*t-sqr(t)*t; x:=x/zoom; y:=y/zoom; glBegin(GL_LINE_LOOP); glVertex(xprev,yprev); glVertex(x,y); glEnd; xprev:=x; yprev:=y; end; end; if Form1.CheckBox3.Checked then begin A:=1; glColor3f(0, 0, 0.65); krok:=(2-(-2))/20; t:=-2; x:=2*t-sqr(t); y:=A*t-sqr(t)*t; x:=x/zoom; y:=y/zoom; xprev:=x; yprev:=y; while t<=2.0 do begin t:=t+krok; x:=2*t-sqr(t); y:=A*t-sqr(t)*t; x:=x/zoom; y:=y/zoom; glBegin(GL_LINE_LOOP); glVertex(xprev,yprev); glVertex(x,y); glEnd; xprev:=x; yprev:=y; end; end; if Form1.CheckBox4.Checked then begin A:=3; glColor3f(0.25, 0.5, 0.75); krok:=(2-(-2))/20; t:=-2; x:=2*t-sqr(t); y:=A*t-sqr(t)*t; x:=x/zoom; y:=y/zoom; xprev:=x; yprev:=y; while t<=2.0 do begin t:=t+krok; x:=2*t-sqr(t); y:=A*t-sqr...
Антиботан аватар за замовчуванням

02.10.2020 20:10

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини